home *** CD-ROM | disk | FTP | other *** search
- /***
- *malloc.h - declarations and definitions for memory allocation functions
- *
- * Copyright (c) 1985-1989, Microsoft Corporation. All rights reserved.
- *
- *Purpose:
- * Contains the function declarations for memory allocation functions;
- * also defines manifest constants and types used by the heap routines.
- * [System V]
- *
- ****/
-
-
- #define _HEAPEMPTY -1
- #define _HEAPOK -2
- #define _HEAPBADBEGIN -3
- #define _HEAPBADNODE -4
- #define _HEAPEND -5
- #define _HEAPBADPTR -6
- #define _FREEENTRY 0
- #define _USEDENTRY 1
-
- #ifndef _SIZE_T_DEFINED
- typedef unsigned int size_t;
- #define _SIZE_T_DEFINED
- #endif
-
- #if (!defined(NO_EXT_KEYS))
-
- #ifndef _HEAPINFO_DEFINED
- typedef struct _heapinfo {
- int far * _pentry;
- size_t _size;
- int _useflag;
- } _HEAPINFO;
- #define _HEAPINFO_DEFINED
- #endif
-
- #else /* NO_EXT_KEYS */
- #if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM))
-
- #ifndef _HEAPINFO_DEFINED
-
- typedef struct _heapinfo {
- int * _pentry;
- size_t _size;
- int _useflag;
- } _HEAPINFO;
-
- #define _HEAPINFO_DEFINED
- #endif
-
- #endif /* M_I86CM || M_I86LM || M_I86HM */
-
- #endif /* NO_EXT_KEYS */
-
-
- #if (defined(M_I86SM) || defined(M_I86MM))
- #define _heapchk _nheapchk
- #define _heapset _nheapset
- #define _heapwalk _nheapwalk
- #endif
- #if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM))
- #define _heapchk _fheapchk
- #define _heapset _fheapset
- #define _heapwalk _fheapwalk
- #endif
-
- #ifndef NO_EXT_KEYS /* extensions enabled */
- #define _CDECL cdecl
- #define _NEAR near
- #else /* extensions not enabled */
- #define _CDECL
- #define _NEAR
- #endif /* NO_EXT_KEYS */
-
-
- /* external variable declarations */
- extern unsigned int _NEAR _CDECL _amblksiz;
-
- /* function prototypes */
-
- void * _CDECL alloca(size_t);
- void * _CDECL calloc(size_t, size_t);
- void * _CDECL _expand(void *, size_t);
- int _CDECL _fheapchk(void);
- int _CDECL _fheapset(unsigned int);
- unsigned int _CDECL _freect(size_t);
- void _CDECL free(void *);
- void * _CDECL malloc(size_t);
- size_t _CDECL _memavl(void);
- size_t _CDECL _memmax(void);
- size_t _CDECL _msize(void *);
- int _CDECL _nheapchk(void);
- int _CDECL _nheapset(unsigned int);
- void * _CDECL realloc(void *, size_t);
- void * _CDECL sbrk(int);
- size_t _CDECL stackavail(void);
-
-
- #ifndef NO_EXT_KEYS /* extensions enabled */
-
- void cdecl _ffree(void far *);
- void far * cdecl _fmalloc(size_t);
- size_t cdecl _fmsize(void far *);
- void huge * cdecl halloc(long, size_t);
- void cdecl hfree(void huge *);
- void cdecl _nfree(void near *);
- void near * cdecl _nmalloc(size_t);
- size_t cdecl _nmsize(void near *);
- int cdecl _nheapwalk(struct _heapinfo *);
- int cdecl _fheapwalk(struct _heapinfo *);
-
- #else
- #if (defined(M_I86CM) || defined(M_I86LM) || defined(M_I86HM))
-
- int _nheapwalk(struct _heapinfo *);
- int _fheapwalk(struct _heapinfo *);
-
- #endif /* M_I86CM || M_I86LM || M_I86HM */
-
- #endif /* NO_EXT_KEYS */
-